package main

import "fmt"

func doRecover() {
	err := recover()
	if err != nil {
		fmt.Println("拦截异常:", err)
	}
}

func doErr() {
	panic("一个异常")
}

func main() {
	defer doRecover()

	func() {
		func() {
			doErr() // 多层的panic是可以捕获到的
		}()
	}()
}
